package services

import (
	"os"
	"path/filepath"
)

// FileService 文件服务
type FileService struct {
	outputDir string
}

// NewFileService 创建文件服务
func NewFileService() *FileService {
	homeDir, _ := os.UserHomeDir()
	outputDir := filepath.Join(homeDir, ".batch-doc-generator", "output")
	os.MkdirAll(outputDir, 0755)
	
	return &FileService{
		outputDir: outputDir,
	}
}

// SaveFile 保存文件
func (s *FileService) SaveFile(filename string, content []byte) (string, error) {
	filePath := filepath.Join(s.outputDir, filename)
	err := os.WriteFile(filePath, content, 0644)
	if err != nil {
		return "", err
	}
	return filePath, nil
}

// ReadFile 读取文件
func (s *FileService) ReadFile(filepath string) ([]byte, error) {
	return os.ReadFile(filepath)
}

// GetOutputDir 获取输出目录
func (s *FileService) GetOutputDir() string {
	return s.outputDir
}

